CPR Competition System

ABSTRACT

A computer-implemented method for managing rescue training includes registering a plurality of individuals as potential rescue trainees through a central computer server system, receiving from computing devices that are remote from the central server system information indicative of rate and depth of compression for ones of the potential rescue trainees, and generating comparative data that reflects performance of CPR chest compressions for a first rescue trainee against other rescue trainees. The method also includes providing the comparative data over a network for review by one or more of the rescue trainees.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. Provisional Application Ser.No. 61/261,274, filed on Nov. 13, 2009, entitled “CPR CompetitionSystem,” and U.S. Provisional Application Ser. No. 61/354,030, filed onJun. 11, 2010, entitled “CPR Competition System,” the entire contents ofwhich are hereby incorporated by reference.

TECHNICAL FIELD

This document relates to computer-based systems and techniques forproviding competitions between individuals and/or teams in theperformance of cardiopulmonary resuscitation (CPR).

BACKGROUND

Sudden cardiac arrest (colloquially “heart attack”) is a regular killer.The best treatment for cardiac arrest is quick and competent chestcompressions to keep blood flowing through a victim's heart. Generally,every minute of delay in treating a cardiac arrest victim lowers thechance of survival by about ten percent. As a result, provision of CPRby people who are near the victim when the cardiac arrest begins, anduntil more advanced life support personnel can arrive, is crucial tosurvival rates for cardiac arrest.

Recognizing that critical CPR can come from lay people at the site of acardiac arrest even more than from professional responders who may takemany minutes to arrive, various organizations have promoted CPR trainingfor lay people for decades. Such training may occur on CPR mannequinsthat include sensors for measuring the depth and timing of chestcompressions, the timing of breathing, and the like, and with mechanismsfor reporting a student's performance in a CPR cycle. Students may alsopractice chest compressions on foam blocks that simulate the complianceof a victim's chest, though such blocks do not provide much in the formof feedback.

Certain devices provide instruction during CPR and some could also beused in CPR training. For example, some automatic externaldefibrillators (AEDs) use voice commands to instruct rescuers on how tooperate the units, and provide voice feedback regarding the rate anddepth of chest compressions (e.g., providing a metronome for rate, andsaying “push harder” or “push softer” for depth). More recently, thePOCKETCPR device from Bio Detek Incorporated of Pawtucket, R.I. 02861, asubsidiary of ZOLL Medical Corporation, has been introduced as a small,hand-held battery-operated electronic device that a rescuer may placeunder his or her hands during CPR to obtain similar instructions andfeedback. The POCKETCPR can also be used by a student who is trainingfor CPR. In addition, software has been developed so that controllerssuch as the WII MOTE for the WII viodeogaming system can provide similarfeedback for people practicing CPR.

SUMMARY

This document describes technologies that involve systems and techniquesthat may be used to make CPR training and related lifesaving trainingmore interesting to students, and to thereby increase the quality of thetraining and the number of people who want to be trained in CPR. Suchtechniques may also increase the amount of training and practice by eachstudent, and may cause students to stay up-to-date in their CPR skills.

As described here, interested individuals who own computing devices thatcontain accelerometers of sufficient sensitivity may obtain one or morecomputer applications that provide CPR training and testing. Theapplications may be run on the computing devices and may report resultsof the testing to a central facility that tracks results for a largenumber of trainees. The central facility may coordinate trainingcampaigns for users, by which the users are drilled in a variety ofdifferent ways and settings, so as to test their ability to perform CPReffectively and also to make the CPR training process more entertaining.For example, the CPR training may be integrated as a central componentof a broader role player game, such as by a player choosing to be anarmy medic in a first-person shooter style war or disaster simulationgame, where the player can choose to attend to injured players oravatars. Data on the player's CPR and other life-saving performances maybe gathered from such games, so as to obtain indication of how theplayer performs under pressure and in the context of a real emergencysituation. In addition, the player is much more likely to practice theCPR if it is part of a more general game that they enjoy, rather thanpart of a standalone, fixed game that only involves performance of CPR.

The training discussed here may also lead to certification using thesame equipment. For example, after a user downloads a softwareapplication for practicing CPR, the user may practice with the equipmentfor a certain time period until he or she reaches a desired level ofproficiency. The user may then check in with the provider of theapplication and perform CPR in a controlled testing situation to becomecertified in CPR, a certain aspect of CPR, or in another care givingtechnique for which the provider is authorized to provide certification.Also, the user may obtain the application from a first organization andmay obtain certification from another organization. The provider of theapplication may also notify the user when they have reach an adequatelevel of proficiency that they may be able to obtain certification, andcan remind a user when he or she needs to renew a certification.Moreover, the user's device or a related device may capture informationin addition to motion information during the testing, such as bycapturing audio or video that may be analyzed manually or automaticallyto further determine whether the user has adequately performed so as tobe certified. Moreover, real-time connections may be made between thetrainee and a certification tester so that real-time direction andfeedback may be given, such as using a dual camera smartphone like theHTC EVO 4G.

In one implementation, a computer-implemented method for managing rescuetraining is disclosed. The method includes registering a plurality ofindividuals as potential rescue trainees through a central computerserver system, receiving from computing devices that are remote from thecentral server system information indicative of rate and depth ofcompression for ones of the potential rescue trainees, generatingcomparative data that reflects performance of CPR chest compressions fora first rescue trainee against other rescue trainees, and providing thecomparative data over a network for review by one or more of the rescuetrainees. The method can also include distributing to the plurality ofpotential rescue trainees a training application that translatesmeasurements from a hand-held device containing an accelerometer intoinformation about chest compression depth and rate for a trainee.Moreover, the method can include organizing a campaign comprised of aplurality of lifesaving events to be performed by rescue trainees, andthe plurality of lifesaving events can include two or more eventsselected from the group consisting of CPR with feedback, CPR withoutfeedback, CPR performed on an avatar in a videogame, and CPR performedwith visual feedback with an animated character in a videogame. Inaddition, the method can comprise organizing the plurality of rescuetrainees into a plurality of groups that each include a plurality ofrescue trainees, and tracking performance of the rescue traineesaccording to the group to which they belong. Moreover, the method mayinclude identifying a plurality of exercises and assigning one of theplurality of exercises to a member of each of the groups, or the methodmay include generating one or more reports that indicate performance ofa first group relative to one or more other groups.

In certain aspects, the method further comprises automatically accessinga contacts or social network list for a rescue trainee and providinginvitations to members of the contacts list to be rescue trainees. Inone implementation, the social network contacts of the rescue trainee oran avatar of the social network contacts become a reactive feedbackindicator of the success of the rescue trainee's efforts to performadequate compression depth. The rescue trainee could have the option toperform rescue skills on any number of individuals or likenesses. Thesocial network members can function individually or as a group inperforming rescue skills in the practice gaming environment. Theinformation indicative of rate and depth of compression for ones of thepotential rescue trainees can also be generated by an accelerometer on acomputing device. Moreover, the method can include generating anindicator reflecting a level of fatigue in a rescue trainee usinginformation indicative of rate and depth of compression over a timeperiod, and ranking the rescue trainee using the generated indicatorreflecting the level of fatigue.

In another implementation, a computer-implemented system for managinglife-saving training comprises a game server programmed to coordinateresults received from a plurality of gaming devices that includeaccelerometers for determining depth and rate of compression forperformance of CPR. The game server includes a user registry thatcorrelates registered users with computing devices that reportperformance metrics for users performing life-saving operations, aninterface programmed to provide to the computing devices instructionsregarding exercises to be completed by the users, and to receive fromthe computing devices information regarding proficiency with which theexercises were completed, and a comparison module programmed to compareone user's performance of one or more exercises against one or moreother user's performance of the one or more exercises. The game serversystem may also include an electronic campaign manager programmed tocombine a plurality of exercises into a campaign of exercises, fortrainees to be assigned to each of the exercises in a campaign.

In other aspects, the electronic campaign manager is further programmedto organize individual trainees into groups and the comparison module isprogrammed to compare users according to groups into which they areorganized. The exercises can include two or more events selected fromthe group consisting of CPR with feedback, CPR without feedback, CPRperformed on an avatar in a videogame, and CPR performed with visualfeedback with an animated character in a videogame or other likenessincluding the image of the rescue trainee or members of his socialnetwork. The system can also include a social networking moduleprogrammed to identify contacts of registered users and to notify theidentified contacts about availability of training using the gameserver.

In certain aspects, the game server is programmed to response to aplurality of identical training applications that translate measurementsfrom a hand-held device containing an accelerometer into informationabout chest compression depth and rate for a trainee. The system canalso include a report generator to produce one or more electronicreports that indicate performance of a first group relative to one ormore other groups.

In another implementation, a computer-implemented system for managinglife-saving training is disclosed that comprises a game serverprogrammed to coordinate testing results received from a plurality ofgaming devices that include accelerometers for determining depth andrate of compression for performance of CPR. The game server includes auser registry that correlates registered users with computing devicesthat report performance metrics for users performing life-savingoperations, an interface programmed to provide to the computing devicesinstructions regarding exercises to be completed by the users, and toreceive from the computing devices information regarding proficiencywith which the exercises were completed, and means for producingcomparative test results reflecting one user's performance of one ormore exercises against one or more other user's performance of the oneor more exercises.

The details of one or more embodiments are set forth in the accompanyingdrawings and the description below. Other features and advantages willbe apparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram showing a group of users practicing CPRin communication with a central tracking system.

FIG. 2A is a block diagram of a system for managing CPR competitionsamong a plurality of registered users.

FIG. 2B is a schematic diagram showing example information flow betweena server and a mobile device used in CPR training.

FIG. 3A is a flow chart of a process that a user may follow inparticipating in a CPR competition.

FIG. 3B is a flow chart of a process that a server system may employ inmanaging a CPR competition.

FIG. 3C is a flow chart of a process for remote life-savingcertification of users of mobile devices that contain motion sensors.

FIG. 4 shows an example of a generic computer device and a genericmobile computer device, which may be used with the techniques describedhere.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

This detailed description discusses examples of implementations that maybe employed in executing and managing competitions among differentpeople (registered users) who want to learn lifesaving techniquesthrough an automated training process, and in locations that areconvenient to them. Generally, different users may be allowed todownload one or more applications that may use the accelerometers intheir mobile computing devices to detect distance and rate of repeatedmotions, in an effort to judge the users' depth and rate of chestcompressions in simulated settings. For example, the registered usersmay practice chest compressions and other lifesaving techniques on adummy or foam block.

A server system may identify tasks for the various registered users andmay receive information regarding how well each user performs his or hertasks. The server system may then compare the work of each registereduser, such as to rate the users in a competition. The server system mayalso provide each user with information that indicates how that user isdoing in a competition. Users may also be organized by the system, ormay organize themselves, into teams that can compete against each other(e.g., where the teams may be formed around a school, workplace,particular groups of healthcare professionals such as competing firestations or EMT crews, and the like). Thus, for example, differentadvertising agencies in a particular town may form teams and competeagainst each other in a contest that is sponsored by a local healthcareorganization. The competitions may include various CPR simulations forwhich the actions of team members are measured, and results are compiledby the server system. The particular simulations may be made realistic,such as by notifying team members about a nearby sudden cardiac arrest,placing a CPR dummy in their place of business, and then measuring theirresponse time and their proficiency at administering CPR.

FIG. 1 is a conceptual diagram showing a group of users practicing CPRin communication with a central tracking system. In general, a pluralityof users are shown performing CPR on dummies, where each user hasstrapped to his or her hand, an electronic device that includes anaccelerometer for determining how well the user is performing chestcompressions on the dummy, as part of a CPR training exercise. Therelative performance of each user is collected by a central system, andthe comparative performances of the various users can be provided backto the users by the system so that the users know where they standvis-à-vis other users.

In particular, a system 100 is shown in which a typical user 102performs chest compressions as part of CPR on a typical dummy 104 usinga portable device 106 that has inside of it an accelerometer. By placingthe accelerometer under or on top of the user's 102 hands and doubleintegrating, the device can measure the vertical displacement of theuser's hands, and in turn of the dummy's chest. American HeartAssociation guidelines dictate proper chest compressions according todepth of compression and rate of repetition, and therefore the device106 can provide an appropriate measure by which to measure whether theuser 102 is performing the chest compressions properly. Direct feedbackmay be provided to the user 102 by the device 106, such as by a visual(on the device screen, when the device is, e.g., a smart phone) oraudible (via a speaker on a speakerphone) indications. For example, thedevice can display or state “push harder” or “push softer,” or “pushfaster” or “push slower.” The device may also beep with a metronome soas to guide the user 102 in the proper speed. Each user 102 may alsochoose to have unguided chest compressions so that they can test theirability to perform proper CPR without help—in case they find themselvesin a situation in which their device 104 is not available.

In certain instances, the devices 106 may communicate through a wirelessnetwork 108, such as a cellular telephone data network and over a wirednetwork 110, such as a network that includes the internet, with acentral server system 112. The central server system 112 is shown inthis example as a number of computer racks, to indicate that such asystem may be part of a large server system, such as the MICROSOFT XBOXLIVE service. Alternatively, the devices 106 may communicate directlywith each other or with a local server, such as by using a local WiFi orBLUETOOTH network. Each of the devices may be at the same level in suchan organization, or one of the devices 106 may be elected as acontrolled, and may receive information from other devices and thencompile and distribute the information to the other devices 106.

The server system 112 is shown in the example as compiling certaininformation about the users 102 of the devices 106. In particular,applications that are installed on the devices may report information tothe server system 112, such as via HTTP request or other appropriatemechanism, where the information indicates what chest compression andother CPR exercises have been performed with the device, and how wellthe user 102 performed each particular exercise. Such performance datamay include data that reflects how deep the chest compressions performedby the user were, and at what rate they were performed. Both the averagerate and depth, and the average variability in rate and depth may bereported. More detailed information can also be provided for furtheranalysis by the server system 112, such as data indicating the time anddepth of every chest compression during an exercise.

The server system 112 is shown in the figure as having generated areport 114 relating to the performance of each of the users 102. Thisreport 112 is in the familiar form of a ranked listing of scores 116 foreach user, with the highest scoring user (Bob Smith) at the top, and thelowest scoring user (John Doe) at the bottom. Arrows are also shown toindicate the trend in the scoring, since the competition is stilloccurring, with Sue Sims, for example, trending downward and in peril offalling below John Doe. The report 114 may be provided in code fordisplay in the form that is shown on each of the devices 106 or on acentral monitor if all of the users 102 are in a common location. Forexample, the users' devices 106 could display information relating totheir performance (e.g., feedback on the performance of their chestcompressions) and a computer monitor that is visible to the users ifthey look up can display the report 114. In this manner, each user can,during a timed exercise, focus on his or her own performance but canalso look up to see how he or she is doing relative to othercompetitors.

Users can also be measured in terms of fatigue. In particular, certainusers may perform chest compressions very well, but only for a shortperiod of time. Such users are not helpful to a victim who needsextended chest compressions while waiting for professional responderssuch as EMTs. Thus, the systems discussed here may track trends in auser's performance, such as the degree to which the user varies from astandard norm (for depth and rate) over time so as to develop a measureof fatigue for the user. Such a measure may be provided separately inranking a user, or may be combined with other factors in determining auser's score.

The measure of fatigue could also be used to provide real time feedbackfor a user. For example, an avatar pictured on a user's device may bemade to sweat, pant, or turn blue, if readings from the device indicatethat the user is starting to become fatigued. Such displays may cause auser to redouble his or her efforts to achieve a proper depth of chestcompressions at a proper rate.

In addition to simply having the users 102 perform CPR, the system 112may also provide to each user 102 different types of challenges orexercises that involve CPR-like motions but can provide a sense ofvariety for a user. For example, the users' 102 devices 106 may be madeto display balloons and the users may inflate the balloons to a levelthat keep them aloft by compressing their dummies at an appropriate rateand depth. The feedback to a user may also be in the form of an avatarwho smiles when depth of motion and rhythm of the motion are appropriatefor chest compressions. Thus, actual numbers for either factor need notbe displayed to a trainee, and such an approach may provide the traineewith an even more intuitive sense of the level of force needed and theappropriate rate. Other games may also be provided that focus on depthand rhythm, and a user may be cycled through the different games so asto maintain the user's attention and maximize the amount of training theuser wants to do. The success may be indicated by reanimation of anavatar caused by sustained proper rate and depth of chest compression.Licensed characters or celebrity images could be used to provide theusers entertainment options, as could the users own likeness.

The users 102 may also be provided with challenges that do not involveperforming chest compressions, but that also affect the users' 102standing in a competition. For example, users 102 may be givenmultiple-choice, true/false, or other forms of quizzes to test theusers' 102 understanding of necessary lifesaving techniques. The users102 may also be asked to perform other exercises that involvedemonstrating their skills and/or knowledge for lifesaving.

The scope of training may be passed to other users as a mechanism tointerest others in being trained in CPR. For example, a user whoregisters with a system like that described here may make his or hercontacts, such as contacts stored at a social networking site likeFACEBOOK, available to the system. The system may then send invitationsto the friends to see if they would be interested in training. As anexample, a first user may choose to train on an avatar that contains asecond user's face, and after the training, the second user may be senta message that says: “Bob just saved your life. Click here to see howyou could save someone else's life.” Separately, a message could beposted to the first user's page indicating that they have saved someone,thereby potentially interesting others of the user's friends (and theirclicking on a link that accompanies the message could begin an automaticdownload process of the application to their relevant portablecommunication device). For example, just as users can now program ascale to report their weight on TWITTER every time they step on thescale, they could program their smartphone to report their progress eachtime they conduct a CPR training exercise. Users could also select“victims” conveniently, such as by having a training applicationautomatically gather names in a contact list for the user, andpresenting the names to the user as potential victims. The system couldalso present a list of famous people to be saved. Also, results of CPRand other competitions may be posted to areas in which other users cansee them, so as to stoke the interest of those other users in trainingand competing themselves.

In certain situations, the competitions may be ad hoc. For example, afirst user may send a message to one or more other users challengingthem to an immediate CPR exercise, which may force them to drop whateverthey are doing, and may thus better test their ability to react underpressure and also train them to react better under pressure. Also, suchad hoc triggering may be automatically generated by a system as part ofa tournament or other competition.

The various exercises may also take into account a number of factorsthat define a good rescuer. The performance of chest compression may beone such factor. However, a user's knowledge of rescue techniques mayalso be important, and the user may be provided standard tests (e.g.,multiple choice or fill-in-the-blank). Also, periodic short tests may besent to a user, such as by sending that a “ping” notifier that a test isready, having them confirm that they want to see the test, and thentaking their answer (and perhaps timing how long it took them to providethe answer). Such tests may involve providing the user with adescription of a hypothetical emergency scenario, and obtaining ananswer of what the user would do in that scenario.

The training may also be integrated into existing training andrecognition systems in additional ways. For example, an organizationsuch as the Red Cross may use such techniques to modify its training andcertification processes, and the difference in the type of trainingprovided here (which can occur more frequently than typically annual CPRclasses) may change the type of things that such an organization testsfor. Also, users of such a system may acquire points with theiremployer, an insurer or HMO, or an organization such as the AHA or RedCross, in order to motivate the users to improve their proficiency atCPR. The points may be used to purchase virtual items, such as for anavatar in a CPR game—also, a user's avatar may interact with otheravatars, and may receive clothing or other visible indicators that showother users the status if the first user with respect to CPR or similarcapabilities. For example, a user who has passed a life-saving coursemay have a red cross placed on his or her clothing in a service such asSECOND LIFE.

Such systems may also be used to expand the user's interests andtraining into additional public health areas. For example, users whodemonstrate an interest and proficiency with the aspects discussed heremay be provided with information about EMT training courses (where thecourses may help underwrite the costs of such a system).

FIG. 2A is a block diagram of a system for managing CPR competitionsamong a plurality of registered users. In general, the block diagramshows more detail regarding the way in which a server system 202 mayorganize and manage a CPR or similar competition between users of mobiledevices 206. Though shown as touchscreen smart phones in this example,the devices could also take the form of controllers for console gamingsystems (e.g., Wil MOTES).

In this example, the typical mobile device 206 can take a familiar form,such as a pre-existing smart phone that is augmented byapplication-specific programs. For example, the device 206 may includean accelerometer 208 whose readings are accessible through a publishedand standard application programming interface (API) to various softwareapplications running on the device 206. The device may also include auser interface, which may be responsible for generating output to auser, such as by managing the organization and presentation ofapplications on a display of the device, and receiving input from auser, such as input in the form of motion of the device (via theaccelerometer 208) and contact with a physical or touchscreen keyboardand display. A wireless interface 212 may also be provided on the device206 so that the device 206 may communicate voice and data to a remoteservice, such as service provided by server 202.

The device 206 may also store a number of applications 214, some ofwhich may have been provided with the device 206 and some of which mayhave been loaded later by a user of the device 206. The applications 214may include personal productivity applications, educationalapplications, games, and other such applications. Certain of theapplications 214 can capture sensed data form the accelerometer 208 andanalyze the data in the context of assuming that the data representschest compressions performed by a user of the device 206, or can providesuch data for analysis by the server system 202.

The server system 202 may itself include a number of components neededto analyze and organize lifesaving actions by users of the devices 206.For example, the server system, 202 may include an interface 224, whichmay take the form of a web server or other appropriate interface forcommunicating with a plurality of client computing devices over anetwork, that may process data received from the devices 206 and providethe data to the appropriate component of the system 202. Certain of thedata may be identified by a sending device 206 as having been generatedfrom an accelerometer of a device 206 while a CPR application wasrunning on the device. Such data may be provided to anaccuracy/consistency rater 230 which may apply the data against knownstandards for the provision of chest compressions as part of CPR.

Such data for multiple different devices 206 and corresponding users maythen be provided to a comparison module 226. The comparison module 226can be programmed to compare various types of data from various users ina variety of manners. For example, the comparison module 226 maygenerate composite scores for the performance of each user, and canprovide such scores in a report form for review by the users, so thateach user can see where they stand relative to other users. Additionaldata, such as results of users who have taken quizzes on lifesavingtechniques, may also be provided as separate scores and/or can be rolledinto a composite score for each user.

Users may perform multiple exercises, or multiple users may be joinedinto cooperative groups using a campaign manager 228. The campaignmanager may operate to determine what groups to be set up, may enrollusers according to the groups, may issue challenges to users within eachgroup, and may track progress of teams or groups in response to thechallenges. The campaign manager, for example, may be responsible forchecking a user's contacts (e.g., on a local device or in a socialnetworking site) and providing notices to such contacts to establishusers who may want to be involved.

The campaign manager may, for example, establish a lifesaving tournamentwithin and among schools. Students within a school may compete againsteach other in CPR using accelerometer-equipped (or force-sensorequipped) devices, and may move forward in a traditional tournamentstyle as they defeat other students. The losing students may beencouraged by the system to continue practicing, such as where atournament is double elimination. A winner for each school may then beidentified and may move on to compete against winners from otherschools. Such a tournament could be “virtual,” in that the geographicallocation of students would not matter, as long as a supervisor wasavailable to ensure that the contestants performed honestly.

As another example, a variety of companies may cooperate, through anon-profit heart-healthy organization, in a fundraising and awarenessraising campaign. Part of the campaign may be directed at teachingmembers (e.g., employees) or the organizations to perform lifesavingtechniques such as CPR. The server system 202 may then assign challengesto individual users in a coordinated manner, for example, by assigningeach one user from each organization to perform a particular task from acandidate group of tasks. The campaign manager, in association with thecomparison module 226, may then roll up all of the actions of thevarious users so as to report performance to standard by group. Membersof the groups may then review the results during the campaign in orderto determine how they are doing. Such actions may then prompt members ofthe groups to do more, and to practice their CPR techniques more, inorder to gain bragging rights over other organizations and the like.

Various data stores may be managed by the server system 202 infurtherance of the objective just stated. For example, a user data store218 may store test data, identification data, and other relevant datafor particular users who are registered with the system. A comparisondata store 220 may store reports or other information that shows theperformance of one user or group of users to the performance of otherusers or groups of users. An application code data store 222 may storecode that users may download to their devices 206 to have the devices206 test them in the various manners discussed in this specification.Such application code may be provided directly to users via the serversystem 222 or indirectly, such as via an internet-accessible app store.

The system 200 may also be established to permit progressive operationfor a user. In particular, as a user's skills increase, the user can bematched against progressively better competition, so that a “campaign”may be considered to be a manager series of head-to-head competitionswith other competitors who currently have comparable skill levels, and auser may try to move his or her way up through the rankings whileconstantly keeping an eye on his or her progress.

FIG. 2B is a schematic diagram showing example information flow betweena server 246 and a mobile device 242 used in CPR training. In general,the figure shows examples of the sorts of data that the mobile device242 may pass to the server 246 that is organizing a competition forlifesaving, and the types of information that the server 246 may passback to the mobile device 242. In this example, the mobile device 242takes the form of a smart phone or app phone that includes anaccelerometer and/or other sensors needed to measure a user'sproficiency with lifesaving techniques such as CPR.

In the example, the mobile device 242 may send the server 246 data formsensors regard the performance of various exercises by a user of thedevice 242. Such information may include data representing, of fromwhich can be calculated, the depth of individual or grouped chestcompressions performed using the device 242. For example, rawaccelerometer data may be passed, or a list of numbers may be passedthat represent particular depths (e.g., measured in centimeters orinches) that can be used by the server 246. Another list may representthe time at which each compression began or ended. Such data may also besent in a table or other appropriate data structure. Other data that issent by the device 242 to the server 246 may include responses by a userto test questions provided by the server 246 and posed to the user bythe device 242.

An arrow moving from the server 246 to the device 242 shows examples ofdata that can be sent downward from server to client. For example,application code 250 may be provided, either from the server thatmanages a training process or from another server such as a public appserver operated by a hardware or OS manufacturer or group (e.g., theANDROID group). The application code may generate a variety ofapplications, from simple lifesaving testing applications (which may behosted applications delivered via web page) to basic CPR applications,to full-blown immersive games that include a chest compression componentas one of many portions of a larger entertaining game.

Game instruction may also be provided (box 252). For example,instructions on how to perform chest compression may be provided, alongwith instruction on how to operate an application so that a user's datamay be uploaded to the server 246. Also, testing results 254 may bedownloaded to the device 242. While the device 242 may be capable ofdisplaying results for testing that occurred on the device 242 itself,the additional results 254 may show results from the testing of otherusers and also comparative results that show how one user performed incomparison to other users.

Finally, rewards 256 may be downloaded from the server 246 to the client242. For example, where a group of organizations organizes a series ofexercises in the form of a campaign for which members of theorganizations can compete with each other, rewards can take the form ofrecognition (e.g., one company can have bragging rights over anothercompany). The rewards may also take the form of coupons or othercertificates for users who have completed a campaign to obtain free foodor other discounted merchandise or services.

FIG. 3A is a flow chart of a process that a user may follow inparticipating in a CPR competition. In general, the process involves auser of a mobile computing device (e.g., a smart phone or app phone)downloading a CPR training application to the computing device andinteracting with the application. After a time period, the user maychoose to enter a competitive campaign that involves responding toprompts to use the CPR application in order to demonstrate proficiencywith administering CPR. The process may track the user's proficiency,provide a user with a score for that proficiency, and compare theproficiency against the proficiencies of other users who are registeredwith the process.

The process begins at box 302, where a user downloads a CPR trainingapplication. Such a download may occur in a familiar manner, such as bythe user visiting an app store on the Internet and selecting anapplication for download. The application may be provided for free orfor a charge.

At box 304, the user practices individual CPR techniques. For example,the user may obtain a foam block that is intended to represent thecompliance of a human chest during CPR, and may use their CPRapplication and mobile computing device on the block. As one example, auser may have previously owned a smart phone that includes anaccelerometer and may have purchased a jacket for the phone equippedwith a hand strap, such as the iSkin Pulse. The user may place the straparound her or her hand so that the screen of the smart phone can be seenby the user while performing chest compressions and the smart phone maymove in tandem with the user's hands performing the chest compressions.The smart phone screen or a speaker may be used to provide guidance tothe user in performing chest compressions. For example, the smart phonemay show the user an appropriate pace and their actual pace on thescreen, and may also state “push faster”, “push slower”, “push harder”,or “push softer.”

At this stage, the exercises may be relatively basic and may simply testa user's basic ability to perform chest compressions at an appropriaterate with appropriate depth of compression. After a certain period, theindividual may ask to see their scores as compared to scores of otherusers, at box 306. The scores may take a variety of forms, and aregenerally based on the accuracy of the user with respect to depth ofcompression and pacing of the compressions, and the ability to not varyfar from standard values for depth and pace. The scores may also be keptseparately for assisted training and unassisted training, whereassistant training involves the user's computing device giving themfeedback with respect to pace and depth, and unassisted traininginvolves no such feedback and is thus more difficult for a user. Thus, auser can readily see whether they should perhaps have additionalpractice with unassisted training (in case they are required to performchest compressions on a real victim when their mobile device is notavailable to them).

If the user has enjoyed what they're doing so far, they may choose tojoin a training campaign at box 308. Such a campaign may involve aseries of training exercises so as to better test the ability of theuser to perform under varying conditions. For example, at certain pointsin a campaign, the user's device may simply make a noise to indicatethat CPR needs to be performed, and the user will be required to startperforming the CPR as quickly as possible. In such a manner, thetraining may better replicate the true situation of CPR the real world,where a rescuer does not have an opportunity to get ready to performCPR. In addition, the response time for the user may be measured so thatthe user is required to react quickly, as they would be required toreact in a real-world situation.

The CPR exercises can also be built into one or more video games so asto test the player's execution in a real-world setting. For example, onevideo game could involve a player taking on the role of a policeofficer, and in the game a police officer may come upon a personsuffering from cardiac arrest. Thus, in addition to the variousresponses that the player would have to make in the game as a realpolice officer, the player can also be required to perform simulated CPRon the simulated victim. The game could be played on a home console,with the player's portable computing device used simply for CPRmechanism, or the game could be played on a portable device itself.Where the game is played on a home console or computer, the user may beregistered with a networked gaming system so that the system canidentify both the user's home console and the users portable device, andregister inputs from both devices as being related to the user. The CPRdevice may also be a console controller that includes an accelerometer,such as a WIIMOTE.

The campaigns may also be related to groups of users in addition toindividual users. In one example, professional organizations may competeagainst each other to improve their ability to provide life-savingresponse. For example, multiple different law firms may compete in aweek-long competition to score points and thereby gain bragging rightsover each other. (The competition may also be directed to raisingcharitable donations for various heart-health organizations.) Such acompetition would have the salutary effects of increasing awareness ofheart health and lifesaving techniques, and of improving the life-savingability for each member of the various teams. Thus, for example, a userat box 308 may navigate through menus provided by a central server toidentify their employer, or may enter the name of the employer as asearch term, and may be presented with a campaign that has already beendesigned by central facilitators for their employer.

The user's name may already be listed for the campaign and they mayenroll at box 308. Such enrollment may then place them to be ready forthe campaign, which may involve a number of different exercises that arepresented to registered users of the different organizations that arepart of the campaign. For example, organizers of the campaign may visiteach enrolled organization in turn, and trigger a “random” CPR noticesfor each of the people that is registered with that organization. Theorganizers may have put CPR dummies in, for example, a cafeteria at anemployer's place of business, and may generate a message to the portablecomputing device of each registered user, requiring them to come to thecafeteria as quickly as possible to perform CPR on the dummies.Performance may be a combination of response time (perhaps normalizedfor each user's distance from the cafeteria) and CPR performance. Theperformance of each user may be measured in turn, and the team from thatorganization may be provided with a composite score based on theperformance of each member. Such activities are shown at box 310.

As part of a group campaign, registered users may be required to performa variety of other exercises. For example, a first exercise may besimple guided CPR, in which the users' devices provide them feedback asthey perform the CPR. The second exercise may involve simple unguidedCPR, where the users receive no feedback about the exercises, but theexercises are performed in a predictable, calm situation, and in arepeated fashion so that the users can focus on proper performance ofthe exercise. A next exercise may involve the playing of a role-playinggame in a controlled environment, where the user comes upon a characterin need of first aid attention, and then is required perform CPR on thecharacter, and their performance is measured by the system and uploadedto a server for composite scoring in the campaign. A next set ofexercises may be like those above, were a user is summoned withoutwarning to perform CPR at a location that is remote from where they arecurrently located. Other sorts of exercises may also be encompassed by acampaign.

At box 312, users are permitted to review their standings within thecampaign. In particular, after each exercise, data that represents auser's performance of an exercise may be uploaded to a central serverthat manages a campaign. In general, the data may represent the abilityof the user to meet predetermined standards regarding a pace ofproviding chest compressions and compression depths of the chestcompressions.

Users may also be asked to perform other operations, such as byanswering quiz questions related to the proper delivery of CPR and otherlife-saving techniques. For example, a user may be shown a photo or adrawn picture of a hypothetical victim and may be asked to indicate howthe victim is to be properly treated. The user may also be asked to makevarious diagnoses based on hypothetical facts, which can includepictures of victims or injuries on victims.

The standings for a campaign may be organized in a variety of manners.For example, when the campaign involves only individuals, eachindividual may be assigned a composite score that indicates how wellthey performed the various exercises, and the individuals may be rankedfrom top score to bottom score so that each individual can see wherethey currently stand in the standings, and what they need to do tomaintain or improve their position.

For group campaigns, the groups may be ranked in various manners, and auser may be allowed to click on a particular group to expand that groupand see the scores of each of the users within the group. Each group mayalso be given multiple different scores, such as scores relating tolevel of participation in the campaign, average accuracy of users in thecampaign, quiz scores of users in the campaign, and variability inaccuracy of users in the campaign so that the campaign tracksorganizations in which all users are pretty good, versus organizationsin which some users are very good and some users are not at all. Usersmay also be allowed to see head-to-head comparisons between twodifferent organizations or two different users, to better isolate thestrengths and weaknesses of each organization (e.g., “our CEO is doingbetter than your CEO”).

At box 314, the campaign is completed and users receive their awards.The completion of a campaign may be triggered by the occurrence of acertain time, such as when a campaign is predetermined to last one week.In such a situation, if a user has not finished a particular exercise bythe end of the campaign, the user's score may be adjusted accordingly,such as by docking points for not completing the exercise. The end ofthe campaign may also be triggered by a central server systemrecognizing that all users have completed the necessary exercises forthe campaign, or that a sufficient number of users have completed theexercises and that the campaign has been running for appropriate periodof time.

At the end of the campaign, a central server system may close thecampaign for data entry, and may generate a number of statistics torepresent performance of individuals or organizations in the campaign.Such representations may involve graphical charts and other easy tounderstand representations of performance in the campaign. For example,bar charts may be prepared to indicate relative performance by differentorganizations in the campaign, where each bar is broken up to representthe relative contribution of each team member to the team's score. Suchdata may be organized into a report, which may be reviewed by varioususers who are registered with the campaign. For example, the centralserver system may generated a document and send it by e-mail to eachregistered user, or may provide a hyperlink in the form of a URL and maysend the hyperlink to each user, who may then to be served a webpage orother document that shows the report of performance in the campaign.

Thus, in this manner the process shown here may provide for automatedand enjoyable techniques for training potential responders to performCPR. The techniques may be flexible to address various needs ofdifferent users. In addition, the techniques may permit organizations tobe trained in CPR and other life-saving techniques as part of a contest.In this way, the organizations may make the training more enjoyable thanunder ordinary circumstances, and may obtain better turn-out andparticipation so as to make their employees or other members more adeptat performing CPR, and thereby improve the safety of others within theorganizations.

FIG. 3B is a flow chart of a process that a server system may employ inmanaging a CPR competition. In general, the process involves managingthe enrollment of competitors in a lifesaving competition, in assigningexercises for the competitors to complete, and in tracking theperformance of the various competitors relative to each other.

The process begins at box 320, where one or more applications areprovided for download by potential competitors. The applications may beprovided directly from a server that manages competitions, or may beinitially uploaded to an app store that is available to the public in afamiliar manner, and then downloaded from the app store by the variouspotential competitors. The application may be designed to run on one ormore types of smart phones that have accelerometers built into them,where the accelerometers may be used to generate data for measuringcompression depths and compression rate of the devices. Relative tilt ofthe devices may also be measured using the accelerometers, possibly incombination a magnetometer or compass on the device. Tilt of the devicemay be used to further refine measurements of how accurate CPR has beenperformed when using the device.

The applications provided to the devices may take a variety of forms.For example, an application may simply be a placeholder installationapplication that causes the downloading of additional material that isthe actual application for measuring CPR itself. Thus, when a userinvokes the first application, it may in turn install the actualapplication. Alternatively, the application may be a basic program formeasuring CPR performed using a mobile device, and may also includetraining materials in the form of traditional written materials andquizzes regarding life-saving techniques (or may include code foraccessing such materials over the internet). The applications may alsoinclude more complex games that place a player in a particular role,such as that of an army medic, police officer, emergency medicaltechnician (EMT) or paramedic. Such gains may be relatively simple orcomplex, and may be larger games in which the life-saving techniques areonly a small poor part of the game. Such larger games may be distributedthrough stores, and users may indicate when they install the gameswhether they have a device that includes an accelerometer, so thatlifesaving opportunities may be enabled for such users in the games.(Certain consoles such as the Wil may include standard controllers thatcontain accelerometers, and may thus be used by all players in such arole.)

At box 322, a central server system receives test data and providescomparative reports to registered users. Users may register as part ofthe download process for a game, and may provide identifying informationfor themselves so that the central system can better track them andtheir performance. In this step shown at box 322, a user may see howtheir performance compares against other users of similar experience,such as users who have recently downloaded the application orapplications. Such a comparison may simply involve providing a score toeach user and ranking the users according to their scores. The approachmay also involve giving the user a letter grade in a familiar manner(e.g., A to F) and showing them that letter grade.

After a user has shown some level of proficiency in performing CPR andother life-saving techniques, such as by generating data on compressionsthat exceed a predetermined value and/or answering enough questionsabout life-saving techniques appropriately, the user may be allowed tomove to a next level of the system, such as by joining a campaign toimprove his or her CPR techniques. Thus, at box 324, the central systemreceives a request from the user to join a campaign. Such a request maybe in made in response to a notification sent by the central system thatindicates that the user may be allowed to join a campaign. The user mayjoin a campaign generally by the system identifying for the user acampaign that the system selects based on the user's performance todate. Alternatively, the user may select a style of campaign that isoffered by the system, such as an army medic or police officer campaign,if that is the type of role-playing that the user would like to beinvolved with. Alternatively, the user may identify a particularcampaign by name or difficulty level.

Also, a user may join a campaign with a group such as a group of friendsor co-workers. Such group campaigns may be directed toward improving thelife-saving abilities of people who work together in a particulargeographic area so as to make their workplace safer.

At box 326, the system identifies appropriate campaigns for a user, asjust discussed. For example, if the user identifies himself as being anemployee of a particular corporation, and that corporation hasregistered to establish itself as a participant in a competition, theuser may be enrolled in the appropriate campaign for their employer.

At box 328, the system provides challenges and receives performanceinformation from various users. At this stage, relevant users haveregistered with a campaign, and the campaign can begin. The campaign mayinvolve a number of predetermined challenges or exercises that each userin the campaign is to complete. Various users may also perform differentexercises than other users. For example, one employee in a group may beprovided with a particular set of challenges along with correspondingemployees from other groups. Other employees from each group may beprovided with a different set of challenges (e.g., one team member canbe required to do exercises A-D and another may perform C-F). However,in each instance, the teams are provided with a grouping of comparativechallenges so that accurate observations and scoring may be made withrespect to the various teams.

Each user may also be provided with challenges that depend on theirperformance in previous challenges. For example, challenges may beranked according to difficulty, and a user may move up or down a seriesof challenges based on their performance in prior challenges orexercises. For example, if a user performs very well in one challenge,they may be skipped up more than one level in a layer of challenges sothat they are always been pushed in their abilities.

Each campaign may involve a number of components in addition to theperformance of chest compressions, as noted above and below. Forexample, enrolled participants may be asked to review traininginformation on life-saving techniques be quizzed on the particularinformation. Quiz questions may also be integrated with particularlife-saving scenarios. For example, a user may be sitting at work and bealerted by their mobile computing device. The alert may cause them torun to their corporate cafeteria and find a foam block for CPR apractice located there. Their device may then show them a drawing orpicture of a simulated victim and asked them to make determinationsabout the victim, such as whether CPR would be appropriate or not. IfCPR is appropriate, the user may then be asked to join their mobiledevice to their hand and began performing chest compressions on the foamblock. The mobile device, through its accelerometer, may then measurethe compressions and their depth and rate, and report all suchinformation back to a central system, where the user may receive acomposite score for the entire exercise.

At box 330, comparative campaign information is provided to requestingusers. Such information may be provided throughout the course of thecampaign so that different registered users may determine where theystand relative to other users or groups. The information may also beprovided at the end of the campaign (box 332) to summarize theperformance of various users or groups across the entire campaign. Forexample, at the end of the campaign, which end may be determined by thetermination of a time period for a defined-length campaign or upon thecompletion by appropriate number of users of an appropriate number ofexercises, the system may send out a link that users may select to see aweb page that reports on the campaign. Such a report may show anindividual or organization that scored the highest and thus won thecampaign, and may also show various other sorts of information. Forexample, some organizations may not have the highest score may have hadthe highest participation and may be provided with awards for suchparticipation. Other similar recognitions or awards may also be shown inthe report.

Additional options may also be provided to users at the end of thecampaign. For example, for users who have performed well in thecampaign, the system may provide notice that they may advance to be partof a civilian life-saving corps for performing CPR and other life-savingtechniques. Such a corps may consist of various registered users ofmobile devices who are identified as having certain life-saving skills,and who have identified themselves as willing to be paged as necessarywhen a life-saving need occurs in their area. Thus, for example, when adispatch service receives a report of a person having a cardiac arrestin an area, the dispatch service may cause a page or other notificationto be sent to corps members in the area of the cardiac arrest event, andmembers who are interested in responding may respond appropriately. Thedispatch system may then cause information about the event, including amap that shows a navigation line connecting the particular corps memberto the location of the event. Such a dispatching system and relatedtechniques are disclosed in co-pending U.S. Applications 61/261,276,filed on Nov. 13, 2009 as attorney docket No. 04644-0274P01 and ______,filed on Nov. 15, 2010, as attorney docket No. 04644-0275001, which areherein incorporated by reference in their entirety.

Thus, by the techniques discussed here, a central server system maymanage the training of CPR among a large number of registered users, andmay increase the amount of training and diversity of training for eachmember by making the training into a competition by which users cancompete with each other and compete in various games. Such a system mayresult in more people signing up for the training, in more completeinitial training, in better follow-up by users to keep their skillssharp, and in group participation that increases the number of trainedpeople even more.

FIG. 3C is a flow chart of a process for remote life-savingcertification of users of mobile devices that contain motion sensors. Ingeneral, the process allows a user of a mobile computing device to becertified for life-saving techniques such as CPR in a flexible manner,generally on their own schedule.

The process begins at box 334, where a CPR training application isprovided for download. The application may be the same as thosediscussed above and may be made available through a third-party publicapp store so as to make distribution of the application easy andconvenient. The application may be provided free or for a cost, or maybe provided free in a limited-capability trial version that is thenfollowed by a paid full-featured version.

At box 336, a system receives test data from the user of the applicationand provides a comparative report to a user of the application. Forexample, the user may execute the application on his or her mobilesmartphone and may practice CPR or other care giving techniques on adummy, foam block, or appropriate testing subject. Information about themotion of the device and other information (e.g., a user's responses toquestions posed on a screen of their mobile device) may be captured anduploaded to the system. The system may then analyze such information todetermine a proficiency level for the user (box 338) on the way todetermining whether the user is ready to be certified for a certainskill or standard such as Basic CPR. Such a determination may be made,for example, by determining that the chest compressions by a user matchAHA guidelines in terms of rate and depth a certain minimum amount orproportion of time that the user is performing chest compressions withhis or her mobile device. The determination may also require a user toperform other functions such as indicating that they are performingrescue breathing by pressing on icon on the screen of their device. Atbox 340, if the user shows proficiency, he or she is invited to test forcertification.

Alternatively, a user may practice with the application and may receivefeedback about their progress. They may then determine for themselvesthat they are ready for certification. Under either approach, the user'spreparation may include competitions such as those discussed above, anda trigger for the user to test for certification may be the successfulcompletion of a competition like those discussed above.

At box 342, user performance test data is collected. Such data may becollected under controlled test conditions, such as by having the userperform CPR on a standard foam training pad or training dummy whiletheir device measures motion (e.g., acceleration and other motion data).The data may be similar to that collected during the training period,and would be sufficient to determine if the user performedsatisfactorily under the applicable standards for certification. Thedata may include motion data from the user's mobile device, dataconcerning answers to quiz questions the user may have been posed duringthe testing exercise, and other data including audio and video data fromthe area around the test subject during the test.

At box 344, the user, if they meet the require proficiency standard, iscertified in the relevant task or standard to which their testing wasdirected. Such certification may simply involve sending them acertificate (electronic or paper) and keeping a record that the personis certified for a certain time period. The certification may alsoinvolve making records that identify certified users available tocertain requesters who may have an interest in identifying certifiedusers in an area. As an extension, the certification status of a usermay also be employed in asking the user to enroll in a rescue corps, andin locating contact information for the user so that the user, if theyenroll with the corps, may be notified when an emergency situationoccurs in their vicinity.

At box 345, a public recognition of the user's certification may also bepublished. Such publication may be as simple as adding the user's nameand town to a list of certified users. The publication may also involveadding an item to the user's profile with a social networking web site.For example, such a site may display icons on a user's profile page thatrepresent accomplishments by the user, in a manner similar to thedisplay of badges with the FOURSQUARE web application.

In this manner, a user of a smartphone or similar device may easilydownload a CPR or similar training application and may become CPRproficient on their own schedule and in locations they prefer (asopposed to having to attend a formal CPR training course at a particulartime and location). At an appropriate time, the user may be testedremotely with respect to his or her capabilities, and may be awarded acertification if he or she passes the testing. The certification of theuser may then be extended to other implementations, such as recognizingthe user in a social networking setting or presumptively adding the userto the rolls of other certified users who are selected to be contactedin particular situations.

FIG. 4 shows an example of a generic computer device 400 and a genericmobile computer device 450, which may be used with the techniquesdescribed here. Computing device 400 is intended to represent variousforms of digital computers, such as laptops, desktops, workstations,personal digital assistants, servers, blade servers, mainframes, andother appropriate computers. Computing device 450 is intended torepresent various forms of mobile devices, such as personal digitalassistants, cellular telephones, smartphones, and other similarcomputing devices. The components shown here, their connections andrelationships, and their functions, are meant to be exemplary only, andare not meant to limit implementations of the inventions describedand/or claimed in this document.

Computing device 400 includes a processor 402, memory 404, a storagedevice 506, a high-speed interface 408 connecting to memory 404 andhigh-speed expansion ports 410, and a low speed interface 412 connectingto low speed bus 414 and storage device 406. Each of the components 402,404, 406, 408, 410, and 412, are interconnected using various busses,and may be mounted on a common motherboard or in other manners asappropriate. The processor 402 can process instructions for executionwithin the computing device 400, including instructions stored in thememory 404 or on the storage device 406 to display graphical informationfor a GUI on an external input/output device, such as display 416coupled to high speed interface 408. In other implementations, multipleprocessors and/or multiple buses may be used, as appropriate, along withmultiple memories and types of memory. Also, multiple computing devices400 may be connected, with each device providing portions of thenecessary operations (e.g., as a server bank, a group of blade servers,or a multi-processor system).

The memory 404 stores information within the computing device 4500. Inone implementation, the memory 404 is a volatile memory unit or units.In another implementation, the memory 404 is a non-volatile memory unitor units. The memory 404 may also be another form of computer-readablemedium, such as a magnetic or optical disk.

The storage device 406 is capable of providing mass storage for thecomputing device 400. In one implementation, the storage device 406 maybe or contain a computer-readable medium, such as a floppy disk device,a hard disk device, an optical disk device, or a tape device, a flashmemory or other similar solid state memory device, or an array ofdevices, including devices in a storage area network or otherconfigurations. A computer program product can be tangibly embodied inan information carrier. The computer program product may also containinstructions that, when executed, perform one or more methods, such asthose described above. The information carrier is a computer- ormachine-readable medium, such as the memory 404, the storage device 406,memory on processor 402, or a propagated signal.

The high speed controller 408 manages bandwidth-intensive operations forthe computing device 400, while the low speed controller 412 manageslower bandwidth-intensive operations. Such allocation of functions isexemplary only. In one implementation, the high-speed controller 408 iscoupled to memory 4504, display 416 (e.g., through a graphics processoror accelerator), and to high-speed expansion ports 410, which may acceptvarious expansion cards (not shown). In the implementation, low-speedcontroller 412 is coupled to storage device 406 and low-speed expansionport 414. The low-speed expansion port, which may include variouscommunication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet)may be coupled to one or more input/output devices, such as a keyboard,a pointing device, a scanner, or a networking device such as a switch orrouter, e.g., through a network adapter.

The computing device 400 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as astandard server 420, or multiple times in a group of such servers. Itmay also be implemented as part of a rack server system 424. Inaddition, it may be implemented in a personal computer such as a laptopcomputer 422. Alternatively, components from computing device 400 may becombined with other components in a mobile device (not shown), such asdevice 450. Each of such devices may contain one or more of computingdevice 400, 450, and an entire system may be made up of multiplecomputing devices 400, 450 communicating with each other.

Computing device 450 includes a processor 452, memory 464, aninput/output device such as a display 454, a communication interface466, and a transceiver 468, among other components. The device 450 mayalso be provided with a storage device, such as a micro drive or otherdevice, to provide additional storage. Each of the components 450, 452,464, 454, 466, and 468, are interconnected using various buses, andseveral of the components may be mounted on a common motherboard or inother manners as appropriate.

The processor 452 can execute instructions within the computing device450, including instructions stored in the memory 464. The processor maybe implemented as a chipset of chips that include separate and multipleanalog and digital processors. The processor may provide, for example,for coordination of the other components of the device 450, such ascontrol of user interfaces, applications run by device 450, and wirelesscommunication by device 450.

Processor 452 may communicate with a user through control interface 458and display interface 456 coupled to a display 454. The display 454 maybe, for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display)or an OLED (Organic Light Emitting Diode) display, or other appropriatedisplay technology. The display interface 456 may comprise appropriatecircuitry for driving the display 454 to present graphical and otherinformation to a user. The control interface 458 may receive commandsfrom a user and convert them for submission to the processor 452. Inaddition, an external interface 462 may be provide in communication withprocessor 452, so as to enable near area communication of device 450with other devices. External interface 462 may provide, for example, forwired communication in some implementations, or for wirelesscommunication in other implementations, and multiple interfaces may alsobe used.

The memory 464 stores information within the computing device 450. Thememory 464 can be implemented as one or more of a computer-readablemedium or media, a volatile memory unit or units, or a non-volatilememory unit or units. Expansion memory 474 may also be provided andconnected to device 450 through expansion interface 472, which mayinclude, for example, a SIMM (Single In Line Memory Module) cardinterface. Such expansion memory 474 may provide extra storage space fordevice 450, or may also store applications or other information fordevice 450. Specifically, expansion memory 474 may include instructionsto carry out or supplement the processes described above, and mayinclude secure information also. Thus, for example, expansion memory 474may be provide as a security module for device 450, and may beprogrammed with instructions that permit secure use of device 450. Inaddition, secure applications may be provided via the SIMM cards, alongwith additional information, such as placing identifying information onthe SIMM card in a non-hackable manner.

The memory may include, for example, flash memory and/or NVRAM memory,as discussed below. In one implementation, a computer program product istangibly embodied in an information carrier. The computer programproduct contains instructions that, when executed, perform one or moremethods, such as those described above. The information carrier is acomputer- or machine-readable medium, such as the memory 464, expansionmemory 474, memory on processor 452, or a propagated signal that may bereceived, for example, over transceiver 468 or external interface 462.

Device 450 may communicate wirelessly through communication interface466, which may include digital signal processing circuitry wherenecessary. Communication interface 466 may provide for communicationsunder various modes or protocols, such as GSM voice calls, SMS, EMS, orMMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others.Such communication may occur, for example, through radio-frequencytransceiver 468. In addition, short-range communication may occur, suchas using a Bluetooth, WiFi, or other such transceiver (not shown). Inaddition, GPS (Global Positioning System) receiver module 470 mayprovide additional navigation- and location-related wireless data todevice 450, which may be used as appropriate by applications running ondevice 450.

Device 450 may also communicate audibly using audio codec 460, which mayreceive spoken information from a user and convert it to usable digitalinformation. Audio codec 460 may likewise generate audible sound for auser, such as through a speaker, e.g., in a handset of device 450. Suchsound may include sound from voice telephone calls, may include recordedsound (e.g., voice messages, music files, etc.) and may also includesound generated by applications operating on device 450.

The computing device 450 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as acellular telephone 480. It may also be implemented as part of asmartphone 482, personal digital assistant, or other similar mobiledevice.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms “machine-readable medium”“computer-readable medium” refers to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The term “machine-readable signal” refers to any signal used to providemachine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any form of sensory feedback (e.g., visual feedback,auditory feedback, or tactile feedback); and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (“LAN”), a wide area network (“WAN”), and theInternet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

A number of embodiments have been described. Nevertheless, it will beunderstood that various modifications may be made without departing fromthe spirit and scope of the invention. For example, much of thisdocument has been described with respect to ICU monitoring withattending physicians, but other forms of patient monitoring andreporting may also be addressed.

In addition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. In addition, other steps may be provided, or steps may beeliminated, from the described flows, and other components may be addedto, or removed from, the described systems. Accordingly, otherembodiments are within the scope of the following claims.

1. A computer-implemented method for managing rescue training, themethod comprising: registering a plurality of individuals as potentialrescue trainees through a central computer server system; receiving fromcomputing devices that are remote from the central server systeminformation indicative of rate and depth of compression for ones of thepotential rescue trainees; generating comparative data that reflectsperformance of CPR chest compressions for a first rescue trainee againstother rescue trainees; and providing the comparative data over a networkfor review by one or more of the rescue trainees or to one or moremembers of an organization overseeing activities of the potential rescuetrainees.
 2. The method of claim 1, further comprising distributing tothe plurality of potential rescue trainees a training application thattranslates measurements from a hand-held device containing anaccelerometer into information about chest compression depth and ratefor a trainee.
 3. The method of claim 1, further comprising organizing acampaign comprised of a plurality of lifesaving events to be performedby rescue trainees.
 4. The method of claim 3, wherein the plurality oflifesaving events include two or more events selected from the groupconsisting of CPR with feedback, CPR without feedback, CPR performed onan avatar in a videogame, and CPR performed with visual feedback with ananimated character in a videogame.
 5. The method of claim 3, furthercomprising organizing the plurality of rescue trainees into a pluralityof groups that each include a plurality of rescue trainees, and trackingperformance of the rescue trainees according to the group to which theybelong.
 6. The method of claim 5, further comprising identifying aplurality of exercises and assigning one of the plurality of exercisesto a member of each of the groups.
 7. The method of claim 5, furthercomprising generating one or more reports that indicate performance of afirst group relative to one or more other groups.
 8. The method of claim1, further comprising automatically accessing a contacts list for arescue trainee and providing invitations to members of the contacts listto be rescue trainees.
 9. The method of claim 1, wherein the informationindicative of rate and depth of compression for ones of the potentialrescue trainees is generated by an accelerometer on a computing device.10. The method of claim 1, further comprising generating an indicatorreflecting a level of fatigue in a rescue trainee using informationindicative of rate and depth of compression over a time period, andranking the rescue trainee using the generated indicator reflecting thelevel of fatigue.
 11. A computer-implementation system for managinglife-saving training, comprising: a game server programmed to coordinateresults received from a plurality of gaming devices that includeaccelerometers for determining depth and rate of compression forperformance of CPR, the game server including: a user registry thatcorrelates registered users with computing devices that reportperformance metrics for users performing life-saving operations; aninterface programmed to provide to the computing devices instructionsregarding exercises to be completed by the users, and to receive fromthe computing devices information regarding proficiency with which theexercises were completed; and a comparison module programmed to compareone user's performance of one or more exercises against one or moreother user's performance of the one or more exercises.
 12. The system ofclaim 11, wherein the game server system further includes an electroniccampaign manager programmed to combine a plurality of exercises into acampaign of exercises, for trainees to be assigned to each of theexercises in a campaign.
 13. The system of claim 12, wherein theelectronic campaign manager is further programmed to organize individualtrainees into groups and the comparison module is programmed to compareusers according to groups into which they are organized.
 14. The systemof claim 12, wherein the exercises include two or more events selectedfrom the group consisting of CPR with feedback, CPR without feedback,CPR performed on an avatar in a videogame, and CPR performed with visualfeedback with an animated character in a videogame.
 15. The system ofclaim 11, further comprising a social networking module programmed toidentify contacts of registered users and to notify the identifiedcontacts about availability of training using the game server.
 16. Thesystem of claim 11, wherein the game server is programmed to response toa plurality of identical training applications that translatemeasurements from a hand-held device containing an accelerometer intoinformation about chest compression depth and rate for a trainee. 17.The system of claim 11, further comprising a report generator to produceone or more electronic reports that indicate performance of a firstgroup relative to one or more other groups.
 18. Acomputer-implementation system for managing life-saving training,comprising: a game server programmed to coordinate testing resultsreceived from a plurality of gaming devices that include accelerometersfor determining depth and rate of compression for performance of CPR,the game server including: a user registry that correlates registeredusers with computing devices that report performance metrics for usersperforming life-saving operations; an interface programmed to provide tothe computing devices instructions regarding exercises to be completedby the users, and to receive from the computing devices informationregarding proficiency with which the exercises were completed; and meansfor producing comparative test results reflecting one user's performanceof one or more exercises against one or more other user's performance ofthe one or more exercises.
 19. A computer-implemented method formanaging rescue certification, the method comprising: registering aplurality of individuals as potential rescuers through a centralcomputer server system; receiving from computing devices that are remotefrom the central server system, information indicative of CPRperformance by the plurality of individuals from data collected bymobile computing devices that are assigned to the plurality ofindividuals; determining whether to certify each of the plurality ofindividuals from whom information indicative of CPR performance isreceived; and assigning certain of the plurality of individuals to a oneor more groups based on outcomes of the determining step.
 20. The methodof claim 19, further comprising associating the assigned certain of theplurality of individuals with a group for consideration as a publicrescue corps.
 21. The method of claim 19, wherein registering aplurality of individuals as potential rescuers comprises receivinginformation about the rescuers from an application marketplace throughwhich a software testing application is distributed.
 22. The method ofclaim 19, wherein registering a plurality of individuals as potentialrescuers through a central computer server system comprises distributinga CPR performance software application to devices for the plurality ofindividuals.
 23. The method of claim 19, further comprising providingindications that the individuals assigned to the one or more groups arecertified, in a manner that allows the indications to be displayedautomatically in a social networking application.